#ifndef __WHIMSY_CONFIG_HPP__SHANHAOBO_19800429__
#define __WHIMSY_CONFIG_HPP__SHANHAOBO_19800429__

#include "../../../../../Wiz/src/WizCore/Include/WizCore.hpp"
#include "../../../../../Wiz/src/WizMath/WizMath.hpp"
#include "../../../../../Wiz/src/WizAlgorithm/WizSP/Include/WizSP.hpp"

//////////////////////////////////////////////////////////////////////////
#define WHIMSY_REFERENCEFRAME_LEFTHAND      1
#define WHIMSY_REFERENCEFRAME_RIGHTHAND	    2
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
#define WHIMSY_MAT_ROWMAJOR                 1
#define WHIMSY_MAT_COLMAJOR                 2
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
#define WHIMSY_GPU_MAT_ROWMAJOR             1
#define WHIMSY_GPU_MAT_COLMAJOR             2
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
#define WHIMSY_EULER_XYZ                    1
#define WHIMSY_EULER_XZY                    2
#define WHIMSY_EULER_YXZ                    3
#define WHIMSY_EULER_YZX                    4
#define WHIMSY_EULER_ZXY                    5
#define WHIMSY_EULER_ZYX                    6
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
#define WHIMSY_BONE_DUALQUAT                1
#define WHIMSY_BONE_MATRIX43                2    
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
/// custom configuration
#ifndef __WHIMSY_CUSTOM_CONFIG_HPP__SHANHAOBO_19800429__
#define __WHIMSY_CUSTOM_CONFIG_HPP__SHANHAOBO_19800429__
#include "./WhimsyCustomConfig.hpp"
#endif /*__WHIMSY_CUSTOM_CONFIG_HPP__SHANHAOBO_19800429__*/
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
#if (!defined(WHIMSY_CFG_PIPELINE_D3D9))
#   define WHIMSY_CFG_PIPELINE_D3D9          WIZ_CFG_FALSE
#endif /*WHIMSY_CFG_PIPELINE_D3D9*/

#if (!defined(WHIMSY_CFG_PIPELINE_D3D10))
#   define WHIMSY_CFG_PIPELINE_D3D10         WIZ_CFG_FALSE
#endif /*WHIMSY_CFG_PIPELINE_D3D10*/

#if (!defined(WHIMSY_CFG_PIPELINE_OGL))
#   define WHIMSY_CFG_PIPELINE_OGL           WIZ_CFG_FALSE
#endif /*WHIMSY_CFG_PIPELINE_OGL*/

#if (!defined(WHIMSY_CFG_PIPELINE_SOFTWARE))
#   define WHIMSY_CFG_PIPELINE_SOFTWARE      WIZ_CFG_FALSE
#endif /*WHIMSY_CFG_PIPELINE_OGL*/

//////////////////////////////////////////////////////////////////////////

#if (!defined(WHIMSY_EULER_ORDER))
#   define WHIMSY_EULER_ORDER                WHIMSY_EULER_XYZ
#endif /*WHIMSY_EULER_ORDER*/

//////////////////////////////////////////////////////////////////////////

#if (!defined(WHIMSY_MAT_MAJOR))
#   define WHIMSY_MAT_MAJOR                  WHIMSY_MAT_ROWMAJOR
#endif /*WHIMSY_MAT_MAJOR*/

#if (!defined(WHIMSY_GPU_MAT_MAJOR))
#   define WHIMSY_GPU_MAT_MAJOR              WHIMSY_GPU_MAT_ROWMAJOR
#endif /*WHIMSY_GPU_MAT_MAJOR*/

//////////////////////////////////////////////////////////////////////////

#if (!defined(WHIMSY_BONE))
#   define WHIMSY_BONE                       WHIMSY_BONE_MATRIX43
#endif /*WHIMSY_BONE*/

#if (!defined(WHIMSY_REFERENCEFRAME))
#	define WHIMSY_REFERENCEFRAME				WHIMSY_REFERENCEFRAME_LEFTHAND
#endif /*WHIMSY_REFERENCEFRAME*/

//////////////////////////////////////////////////////////////////////////

#endif /*__WHIMSY_CONFIG_HPP__SHANHAOBO_19800429__*/
